home *** CD-ROM | disk | FTP | other *** search
/ Deutsche Edition 1 / Deutsche Edition 1.iso / amok / 081-090 / amok87 / hanoi / dhanoi.mod next >
Text File  |  1993-11-04  |  2KB  |  74 lines

  1. MODULE DHanoi;
  2.  
  3. (* ---------------------------------------------------------- *)
  4. (* Graphische Ausgabe                                         *)
  5. (* ---------------------------------------------------------- *)
  6. (* SetGraphMode  : Grafikmodus Einschalten und Initialisieren *)
  7. (* EndGraphMode  : Grafikmodus Ausschalten und Cleanup        *)
  8. (* ClearScreen   : Graphic-Output loeschen                    *)
  9. (* FillRectangle : Ausgefuelltes Rechteck zeichnen            *)
  10. (* FColor        : Setzt die Vordergrundfarbe                 *)
  11. (* ---------------------------------------------------------- *)
  12. (* (c) by Roger Meyer, 1992                                   *)
  13. (* ---------------------------------------------------------- *)
  14.  
  15. IMPORT
  16.   I : Intuition,
  17.   G : Graphics;
  18.  
  19. VAR
  20.   MyWin : I.WindowPtr;
  21.   Win   : I.NewWindow;
  22.  
  23.  
  24. PROCEDURE SetGraphMode*(w,h : INTEGER);
  25.  
  26. BEGIN
  27.   Win.leftEdge   := 10;
  28.   Win.topEdge    := 230-h;
  29.   Win.width      := w;
  30.   Win.height     := h;
  31.   Win.flags      := LONGSET{I.windowDrag,
  32.                             I.windowDepth,
  33.                             I.gimmeZeroZero,
  34.                             I.windowActive,
  35.                             I.wbenchWindow}+I.otherRefresh;
  36.   NEW(Win.title);
  37.   Win.title^     := "Towers of Hanoi";
  38.   Win.type       := {I.wbenchScreen};
  39.  
  40.   MyWin := I.OpenWindow(Win);
  41.  
  42.   G.SetAPen(MyWin.rPort,1);
  43.  
  44. END SetGraphMode;
  45.  
  46.  
  47. PROCEDURE EndGraphMode*();
  48.  
  49. BEGIN
  50.   I.CloseWindow(MyWin);
  51.  
  52. END EndGraphMode;
  53.  
  54.  
  55. PROCEDURE ClearScreen*();
  56.  
  57. BEGIN
  58.   G.SetAPen(MyWin.rPort,0);
  59.   G.ClearScreen(MyWin.rPort);
  60.   G.SetAPen(MyWin.rPort,1);
  61.  
  62. END ClearScreen;
  63.  
  64.  
  65. PROCEDURE FillRectangle*(x1,y1,x2,y2 : INTEGER);
  66.  
  67. BEGIN
  68.   G.RectFill(MyWin.rPort,x1,y1,x2,y2);
  69.  
  70. END FillRectangle;
  71.  
  72.  
  73. END DHanoi.
  74.